1. Field of the Invention
This invention relates to an expert system for obtaining information about synoptic climatology. It further relates to a method for representing synoptic climatology information in a frame based hierarchy.
2. Description of the Related Art
2A. Artificial Intelligence and Expert Systems
This invention presumes that the practitioner is familiar with knowledge-based systems terminology, including object-oriented programming techniques as well as terminology used for knowledge processing applications that is, applications conventionally associated with the field of artificial intelligence (AI). This invention also presumes that the practitioner is familiar with terminology in the field of synoptic climatology. This invention relates to the field of artificial intelligence, for example to the field of expert systems or knowledge-based systems. It is to be noted that practitioners in this field use the terms expert systems and Knowledge-based Systems interchangeably. Within the scope of this application and invention, the terms Knowledge-based Systems and expert systems to mean the same thing. Principles of AI and Expert Systems are described in detail in U.S. Pat. Nos. 5,313,636, 4,930,071, 4,918,621 and 4,675,829 all of which are incorporated herein by reference.
Artificial intelligence (AI) technology is a branch of computer science with an ultimate goal of providing a machine that is capable of reasoning, making inferences and following rules in a manner believed to model the human mind. There have been substantial advances in the theoretical aspects of AI though much remains to be done. Principles developed in Artificial intelligence theory are increasingly finding applications. It is being accepted now that AI principles can be effectively applied to develop better computer software. AI also provides users sophisticated ways to use computer power to solve day to day practical problems. These include assisting in the analysis of massive amounts of relatively unprocessed data to aid in decision-making processes.
It is helpful to understand what is meant by knowledge and a knowledge base as now understood. Knowledge in the pragmatic terms of artificial intelligence is described in terms of its representation. Knowledge is a combination of data structures and interpretive procedures which, if suitably manipulated (as by a suitably programmed computing machine), will lead to what might best be termed xe2x80x9cknowledgeablexe2x80x9d behavior. A knowledge base is a set of knowledge representations which describes a domain of knowledge. See generally Elaine Rich, McGraw-Hill Book Company, New York, N.Y. (1983) (hereinafter Rich). A knowledge base is to an artificial intelligence environment what a database is to a conventional computer program. Unlike a database, however, a computer knowledge base can include executable program material within a defined record, herein called a slot, and is separate from the inference engine and control strategy used for problem solving within the domain of expertise being modeled.
Knowledge representation techniques and theories are still evolving. Nevertheless, knowledge representation techniques appear to be classifiable into various categories depending on the type of knowledge being represented. One category of knowledge is descriptive knowledge. This category of knowledge representation provides techniques for the collection and organization of facts, ideas or entities which might be acted upon. The basic units of descriptive knowledge are generally called frames, as hereinafter explained. They have also been known variously as units, concepts or objects. The term frame lacks some precision of meaning due to its use in other disciplines. Therefore, hereinafter a basic unit of descriptive knowledge is denoted a knowledge representation frame or KR frame. A KR frame contains one or more slots.
Another category of knowledge representation is that of procedural knowledge in the form of rules or structured reasoning procedures. This category of knowledge representation includes techniques which emulate the human mind""s structural capability to make choices. The premise-conclusion (IF THEN) format is a typical representation of a procedural knowledge conditional expression. Procedural knowledge emphasizes action and is encoded into a knowledge base as a rule in conditional expression form. The procedural knowledge may reside in a slot of a KR frame.
The knowledge base has expert rules of thumb (or heuristics) that are extracted from a domain expert. A typical rule is in the form, for example:
If
Condition A is satisfied.
Condition B is satisfied. AND
Condition C is satisfied. AND
Then
Assert D AND
Perform E.
That is, if a plurality of conditions are satisfied in a given problem state, then assert a new condition to the problem state and perform a new step that changes the problem state. Some conditions are satisfied from existing data and some are satisfied after querying the user for additional data. In this example, if a set of conditions A,B and C are satisfied in the given problem state, then condition D should be asserted to the problem state and step E should be performed on existing data.
The inference engine performs the task of executing or applying the rules in the knowledge base to a problem domain. It matches the conditions on the xe2x80x9cIfxe2x80x9d side to the problem state and performs the necessary steps to apply the xe2x80x9cThenxe2x80x9d side. In contrast to conventional programs, the inference engine of AI systems also selects which rule to apply next, from the set of heuristic rules. Therefore the xe2x80x9cknowledgexe2x80x9d for the knowledge base is embedded within the rules as well as in the structure of the inference engine. A key feature of the steps followed in the process is the iterative xe2x80x9creasoningxe2x80x9d process.
The third category of knowledge representation is that of logic programming wherein knowledge required to derive facts logically from a set of statements is represented with first order predicate calculus statements. Examples of languages using logic programming are the language of the so-called fifth generation computers of the Japanese, called PROLOG and the language MRS employed at Stanford University.
Often domain knowledge, represented with various techniques such as those described above, can be organized naturally in a hierarchical structure. The key to the use of hierarchical structures is the concept of connecting relations between structures of data or knowledge through which information about attributes may pass to other structures of data or knowledge. One of the major contributions of artificial intelligence is the concept of inheritance to provide the connecting relations in a hierarchical structure. The concept of inheritance has a number of advantages. First, an inheritance mechanism allows the specification of many components of a data structure or knowledge structure through reference to other data structures or knowledge structures. As used herein, high-level data structures or knowledge structures refer to organized collections of simpler data structures or knowledge structures, such as a collection of various relations in a relational database sense, or a collection of logical assertions as in the predicate calculus sense. Second, an inheritance mechanism can assure consistency among high-level data or knowledge structures. That is, the inheritance mechanism can be used to specify that a given data or knowledge structure must obey restrictions placed on characteristics from other data or knowledge structures. Third, the inheritance mechanism allows the implementation of semantics. That is, the inheritance mechanism is a technique for combining higher level concepts and specifying meaning.
The concept of representing knowledge as hierarchical data structures with inheritance was first referred to in terms of xe2x80x9cframesxe2x80x9d by its most prominent early supporter, Marvin Minsky of the Massachusetts Institute of Technology. Professor Minsky gave the first general description of the concept and laid the intellectual groundwork for development of practical systems implementation of a frame-based system. Subsequent work in first generation knowledge representation systems produced very stylized inheritance mechanisms lacking in flexibility or yielding inheritance structures which were cumbersome and so slow as to be of only limited utility in large knowledge bases. The overall rapid progress of AI and computing has made feasible the application of such concepts for solving real life problems.
There have been considerable debates in technical literature regarding what constitutes a KBS. See generally Fredrick Hayes-Roth, Donald A. Waterman and Douglas B. Lenat, Addison-Wesley Publishing Co., Inc., Reading, Mass. (1983) (hereinafter Hayes-Roth). Hayes-Roth defines a KBS to comprise a knowledge base and an inference engine. Knowledge-Based Systems (KBS) is one of the most visible applications of Artificial Intelligence. It has concentrated on the construction of high-performance programs in special professional domains. KBS places emphasis on the knowledge that underlies human expertise as opposed to domain independent problem solving strategies.
To build a KBS therefore, it is important to recognize expertise, which in any domain composes of both public articulable knowledge as well as private knowledge, which is often inarticulabe, fuzzy and available only to experts. This private knowledge consists largely of rules of thumbs (or xe2x80x9chunchesxe2x80x9d) which are often called as heuristics. Heuristics enable the human expert to make educated guesses when necessary, to recognize better steps from a set of possible alternatives as well as to deal effectively with erroneous data.
By representing both private and public knowledge about the domain, a KBS attempts to elucidate, reproduce and enable computer systems to effectively use expert knowledge in performing its tasks. KBS are used in computer systems that help in interpretation, diagnosis, design, planning, monitoring, etc. KBS are used either stand-alone or as a part of an integrated software system, for example a CAD system, which often houses public or articulable knowledge. An ideal KBS consists of an interface that interfaces with a user or another computer program, a work area for storing intermediate results, a knowledge base that is the heart of the KBSxe2x80x94comprising facts and rules of thumb/heuristics that help with the system or with the planning, a scheduler that enforces an order for processing the rules, a consistency checker and an explanation facility.
Building a KBS typically involves two people; a domain expert and a knowledge engineer. Initially the knowledge engineer and the expert identify and scope out the problem area. Then they explicate the key concepts, relations and information-flow characteristics needed to describe the problem-solving process in the domain area. The key concepts and relationships are then formalized into a representation scheme that can be input to the computer. The representation schemes used might involve data structures that are well known or that are specifically formulated for the current problem domain. Finally the representation is implemented in a computer system and tested. In building KBS, the elucidating and representing the expert knowledge are the crucial steps in the knowledge engineering process.
To aid in an understanding of this invention, a glossary of terms is included herein below.
The following is a glossary of some of the terms used in these technologies.
Data: Raw facts or values which are physically recorded and which can be extracted and objectively verified.
Information: Anything learned from data, i.e., the xe2x80x9cmeaningxe2x80x9d of data.
Value: An amount of worth.
Knowledge: Abstractions, categorizations and generalizations derived from data which cannot be easily objectively verified.
Knowledge Base (KB): A computerized collection of knowledge organized into a taxonomy and including a theory (calculus) for interpreting the knowledge about subject.
Knowledge-Based System (KBS): The software and hardware environment supporting a knowledge base.
Knowledge Processing: Application of inferences to data and knowledge to obtain further knowledge.
File: A bounded storage element of a computer-based storage system.
Knowledge Base Terms:
Object: Elemental accessible entity of a knowledge base file; the elemental abstract entity of knowledge about a subject; a structure of information which describes a physical item, a concept or an activity, including a group of other objects.
Frame: A frame or object may differ in characteristics depending on the theory of interpretation associated with the knowledge base.
Slot: An elemental entity of an object, analogous to a database field; represents characteristics of an object.
Class: A unit which describes a category or group of objects.
Member: A unit which is contained within a class. If Unit A is a member of Class B, then Class B is a Parent of Unit A.
Inference: A conclusion drawn about an object from premises or facts.
Inheritance: The process of transferring characteristics (slots and their values) to an object from its ancestors in the context of the process for interpreting the knowledge base.
(Put working memory and conflict set here?)
Other terms will be defined in the context of the invention hereinafter explained.
2B. Synoptic Climatology
In meteorology access to, and preservation and fusion of, data and information have become an ever increasing challenge. This is not a unique problem, in a world with rapid technological advances sometimes capturing and accessing even the most basic or remote information can become unexpectedly difficult. This problem is further exacerbated in a military setting where the turnover of personnel can be frequent and rapid making it more difficult to obtain, retain, and assimilate information and expertise. Military forecasters seldom remain in one location long enough to gain the experience needed to obtain a good feel for the weather trends in that location. This lack of experience prevents the forecaster from producing the best possible forecast for their assigned location. The problem is further compounded by rapid deployment into a hot spot. In this case weather personnel must quickly come up to speed in an area with which they have little or no previous experience. The knowledge of expert climatologists to perform such tasks is the domain of this invention.
It is the object of the present invention to solve the problems associated with obtaining accurate meteorological information in distant areas of the world using the advances in the field of AI and expert systems. It is an object of this invention to meet the meteorological information challenge for distant regions of the world.
Specifically, it is an object of this invention to develop an expert system for obtaining synoptic climatology information for various regions of the world.
It is another object of this invention, to provide a method for knowledge representation, said knowledge capturing the synoptic climatology information about various regions of the world.
It is another objective of this invention to provide a computer product that enables the user to obtain (and manipulate?) expert information on synoptic climatology of various regions of the world.
To meet the objectives of this invention, there is provided an expert system for synoptic climatology comprising a user interface;an inference engine; and a synoptic climatology knowledge base. Further embodiments of the present include an expert system wherein the user interface comprises geographical information in the form of digitized maps, an expert system the geographical information is a Geographic Information System. A further improvement includes an expert system wherein the user interface further comprises a window for displaying maps, a window for displaying temperature, a window for displaying wind speed, a window for displaying rainfall, a window for displaying visibility, and a window for displaying cloud cover.
Another aspect of the present invention is a method of representing geographical information for use in an expert system for climatology comprising partitioning the world into climatic regions, partitioning said climatic regions into subregions, partitioning said subregions into zones of climatic commonality and putting said climatic regions, said subregions and said zones of climatic commonality into a frame hierarchy. A further improvement is a a method wherein said climatic regions comprise southwest Asia and northeast Africa. A further improvement is a method wherein said climatic region of southwest Asia and northeast Africa is partitioned into subregions of horn of Africa, middle eastern peninsula, near east mountains and Mediterranean coast and northeast Africa.
Yet another aspect of the present invention is a computer program product including a computer readable set of instructions and a computer media that enable the computer to perform according to steps of:
inputting geographical information, inputting time information, inputting abnormal condition information, running an expert system rule base for climatology and receiving climatological information. Further improvements include the computer program product being in C++ (and Prolog and MapObjects?). Further improvements include the rule base being in a production system.